﻿namespace FlyingEye.Application.NetServices
{
    public interface IDevice
    {
        string IP { get; }
        int Port { get; }
        string DeviceName { get; }
        void Close();
        void Connect();
        bool ReadBool(string addr);
        byte ReadByte(string addr);
        double ReadDouble(string addr);
        float ReadFloat(string addr);
        int ReadInt(string addr);
        short ReadShort(string addr);
        string ReadString(string addr, ushort length);
        uint ReadUint(string addr);
        ushort ReadUshort(string addr);
        void WriteBool(string addr, bool value);
        void WriteByte(string addr, byte value);
        void WriteDouble(string addr, double value);
        void WriteFloat(string addr, float value);
        void WriteInt(string addr, int value);
        void WriteShort(string addr, short value);
        void WriteString(string addr, string value);
        void WriteUint(string addr, uint value);
        void WriteUshort(string addr, ushort value);
    }
}